/******************************************************************************
 *  _____     _____
 *  \  __\    \  __\
 *   \ \_\\    \ \_\\
 *    \  __\SS  \  __\roject
 *     \_\       \_\
 *
 * Mateusz Maciąg, Rafał Urbański
 * Komputerowe Systemy Sterowania
 *****************************************************************************/

#include "StringConstants.h"

namespace RafMat {

StringConstants::StringConstants()
{
}

const std::string StringConstants::configInfoPrologue =
        "Rafał Urbański, Mateusz Maciąg\n"
        "Komputerowe Systemy Sterowania"
        ;

const std::string StringConstants::configInfoDescription =
        "Plik konfiguracyjny symulatora PSSProject. Zawiera pełną "
        "konfigurację parametrów symulacji, włączając w to konfigurację "
        "wejść, regulatora, obiektów dynamicznych oraz ich parametrów."
        ;

const std::string StringConstants::configInfoSimulationSpec =
        "Konfiguracja składa się z bloków na wzór XML. Blok główny to "
        "[Simulation <nazwa>][/Simulation]. W nim zawarte są pozostałę bloki "
        "oraz parametry. Dozwolone podbloki to [Input <nazwa>], [Controller <nazwa>] oraz "
        "[Model <nazwa>]. Blok [Controller] może wystąpić tylko jednokrotnie. "
        "Kolejność modeli ma znaczenie, gdyż decyduje o ułożeniu w łańcuchu "
        "szeregowym. Dla pozostałych bloków kolejność nie ma znaczenia."
        ;

const std::string StringConstants::configInfoModelSpec =
        "Blok [Model <nazwa>] definiuje parametry modelu, włącznie z tymi niestacjonarnymi. "
        "Składa się z bloków [Params <nazwa>] definiujących parametry stacjonarne modelu "
        "oraz chwila, od której obowiązują. Dopuszczalne parametry to: apoly, bpoly "
        "delay i switch_time. apoly i bpoly są wielomianami podawanymi wg składni "
        "[ a0 a1 ... an ]. Pozostałe parametry posiadają składnię liczb zmiennoprzecinkowych."
        ;

const std::string StringConstants::configInfoControllerSpec =
        "Blok [Controller <nazwa>] specyfikuje rodzaj regulatora w zamkniętej pętli regulacji. "
        "Blok nie posiada bloków zagnieżdżonych, za to obowiązkowo musi zawierać "
        "parametr type definiujący typ regulatora. Wartość default oznacza "
        "regulator specjalny czyniący układ otwartym."
        ;

const std::string StringConstants::configInfoInputSpec =
        "Blok [Input <nazwa>] zawiera definicję wejścia zadawania. "
        "Nie posiada bloków zagnieżdżonych za to definiuje parametry "
        "charakterystyczne dla rodzaju wejścia. Ów rodzaj definiowany "
        "jest obligatoryjnym parametrem type."
        ;

}
